[论文学习]SpatialRGPT:视觉语言模型中落地空间推理
发表于:2025-03-05 | 分类: 论文学习
字数统计: 3,551 | 阅读时长: 12分钟 |

[论文学习]SpatialRGPT:视觉语言模型中落地空间推理

资料

主页:SpatialRGPT: Grounded Spatial Reasoning in Vision-Language Models

代码:AnjieCheng/SpatialRGPT: [NeurIPS’24] This repository is the implementation of “SpatialRGPT: Grounded Spatial Reasoning in Vision Language Models”

论文:[2406.01584] SpatialRGPT: Grounded Spatial Reasoning in Vision Language Models

简介

​ 该文章介绍了SpatialRGPT吗模型,这是一种旨在增强视觉语言模型(VLMs)空间推理能力的新框架。当前VLMs在2D视觉和语言任务方面表现优异,但在空间关系推理方面仍存在不足。SpatialRGPT通过两个关键创新提升空间理解能力:

  • 基于3D场景图的数据处理管道,使模型能够学习区域级表示;
  • 一个灵活的“插件”模块,允许VLMs在视觉编码器中整合深度信息。

​ 该模型能够在推理过程中准确感知用户指定区域的相对方向和距离。并且研究者还提出了SpatialRGPT-Bench,这是一个包含真实3D标注的基准数据集,涵盖室内、室外和模拟环境,以评估VLMs的3D空间认知能力。实验结果表明,SpatialRGPT显著提升了VLMs在空间推理任务中的表现,并具备良好的泛化能力,可应用于复杂空间关系推理和机器人任务的奖励标注。

单个二维图像构建 3D 场景图

​ 如图,其场景图的构建管道从过滤过程开始,删除任何不适合的图像。使用开放词汇模型,识别并定位候选对象,然后通过度量深度估计和相机标定将其提升到三维空间。之后通过处理点云,以构造三维场景图

image-20250305223644688

  • 开放词汇检测和分割。分割目标是构建场景图的初始阶段。首先采用开放词汇图像标记模型 来识别图像中存在的所有目标类。接下来,用 一种开放词汇 2D 检测器来确定相应的目标边框。最后,应用分割模型将这些边框细化为精确的掩码。不使用现有的数据集注释,因为它们要么由于词汇限制而不足,要么使用多边形注释或压缩掩码进行分割。
  • 度量深度估计。最近,Metric3Dv2 将焦距作为输入,并进行端到端训练以预测度量深度和表面法线。该模型在不同的室内和室外场景上联合训练,使其不太容易过拟合特定数据集的深度分布。采用 Metric3Dv2 作为度量深度估计器,Metric3Dv2 与 WildCamera的相机内参相结合,对于在真实世界环境中拍摄的图像具有鲁棒性。此外,由于 Metric3Dv2 中的联合深度法线优化训练,恢复的几何形状得到了改善,尤其是在目标边缘周围。
  • 相机标定。相机标定包括内参估计将深度图反向投影到 3D 点云,以及场景规范化以确保在共享空间中描述场景关系。为了估计相机内参,使用 WildCamera 模型,该模型估计四个 DoF 内参参数(二维的焦点和焦距)。由于该模型具有尺度-觉察和检测图像裁剪的能力,因此在现实世界中表现出色。为了将点云的相机坐标转换到每个场景的一个规范化大地坐标系,使用 PerspectiveFields,它提供每个像素的向上矢量和纬度值,可以将其转换为相机外参,例如俯仰和滚动。利用这些,推导出一个旋转矩阵,将点云从相机坐标转换为大地坐标。
  • 构建 3D 场景图。 3D 场景图是元组的一个集合,其中节点表示特定的 3D 目标实例,边表示节点之间的空间关系。每个节点由目标的类、宽度和高度定义。要创建节点,首先使用实例掩码对目标点从深度图中去投影。然后,执行规范化和去噪,并为每个目标构建 3D 轴对齐边框。使用 3D 边框,以真实世界单位计算目标的宽度和高度。边表示节点之间的空间关系,分为两种关系:相对关系和度量关系。相对关系包含左、右、上、下、后、前、宽、薄、高、矮、大和小。度量关系包括两个目标之间的方向、直接距离、水平距离和垂直距离。然后,遍历所有目标节点,并使用点云质心和边框来计算它们的空间关系。

从3D场景图中学习空间-觉察 VLM

​ 文章通过将构建的三维场景图转换为文本表示以进行VLM训练。一种简单的方法是通过基于模板的方法和预先定义的手工指令。然而,这种方法限制了指令的多样性,并阻碍模型的推理能力。因此,文章采用额外复杂的问答来增强模型的推理能力。

基于模板的问答。这些 QA 是学习基本空间知识的基础。从边缘属性中提取有关节点属性(如宽度和高度)以及相对和度量关系的信息。用 Region [X] 形式的实体,创建定性和定量模板来为每种类型的属性生成问题和答案。这种方法产生的示例如图第一行所示,第二行是基于LLM进行回答的QA。

image-20250305224445451

基于 LLM 的复杂推理问答。采用 Llama3-70B 生成复杂的空间推理问题,以增强模型的空间推理能力。一种方法是将场景图直接输入 LLM。然而,LLM 很难有效地利用 3D 坐标信息,因此文章选择了另一种方法。首先以语言格式构建空间描述。与基于模板的方法类似,从场景图中提取属性,然后根据这些属性构建基于模板的空间描述。将空间描述和区域标签组合作为 LLM 的输入。然后,LLM 的任务是创建一个基于描述并与上下文匹配的复杂推理问题和答案。上图的第二行显示 LLM 生成的 QA 示例。

​ 产生的开放空间数据集包含 100 万张独特图像和 500 万张开放词汇区域。并且该数据集还包括 800 万个基于模板 QA 和 70 万个基于 LLM QA。

VLM的架构

​ SpatialRGPT 由一个视觉编码器组成,用于对视觉特征进行编码,一个区域特征提取器,用于获得区域级嵌入,线性连接器用于将多模态嵌入投影到词嵌入空间,以及一个使用 LLaMA2-7B 进行语言处理的大语言模型。如图所示:

image-20250305225243044

相对-深度输入的插件模块。仅从 RGB 像素学习的 VLM 对于 3D 感知任务无效。为了弥补这一差距,使用相对深度图,以在 RGB 图像之外提供额外的深度信息作为网络的输入。目标是通过深度引导来引出几何推理能力。而大多数 VLM 的视觉编码器通常只使用文本和 2D 图像进行训练,简单地连接 RGB 和深度特征可能会对性能产生负面影响。所以文章引入一个无缝整合深度信息的附加模块。用相同的图像编码器来处理深度图并生成深度特征图。然后,用一个额外的深度-到-语言连接器将特征投射到语言域中。深度连接器的权重从 RGB 连接器初始化,并仅在与空间相关的 QA 上进行训练。这种灵活的设计,允许 2D 视觉编码器利用额外的深度表示,同时在没有深度输入时仍能正常工作,从而避免了对大量训练数据的需求。

token化和提示格式。为每个图像生成多轮对话数据,并将图像作为第一条指令的初始输入,提供上下文信息。具体来说,加入了一个前缀提示:“\n”。 是一个充当占位符的特殊token,它将被视觉编码器中的图像级嵌入替换。当用户输入中提到特定的掩码区域时,我们使用特殊tokens 作为占位符。每个区域token将替换为相应的区域 RGB 嵌入和深度嵌入。所有图像级、区域级 RGB/深度token和文本 token都交错在一起,并作为 LLM 的输入进行自回归生成。

训练和推理流程

​ SpatialRGPT 训练包括三个阶段:

  • 连接器特征对齐
  • 视觉语言预训练
  • 视觉指令调整

实验

实验设置

​ 三类实验基准:

  • 3D 空间推理基准测试
  • 标准视觉-语言基准测试
  • 真实世界应用

三种模型:

  • 盲目LLMs(仅文本)。盲LLM 模型完全依赖于文本,仅使用问题的内容生成答案。
  • 标准VLMs(带视觉信息)。该设置类似于盲 LLM,但包括对视觉内容的访问,这可以使模型比盲 LLM 回答得更好。采用当前最先进的 VLM,即GPT-4V 和 LLaVA-v1.6-34B,作为此类别的基线。
  • 区域级VLMs(支持特定区域推理)。此类基线,探索具有类似的区域级功能模型。这些模型不会收到与感兴趣区域相关的任何语言字幕或目标类信息;他们完全依赖于视觉处理能力。为 GPT-4V 和 LLaVA-v1.6-34B 配备了标记集 (SoM) ,以启用区域引用功能。此外,还包括 KOSMOS-2,这是一个能够将边框输入到参考目标的 VLM,以及 RegionVILA。RegionVILA-7B 也是消融基线;它与 SpatialRGPT-7B(rgb) 变型共享相同的模型架构,但没有使用专门的空间 VQA 数据集进行训练。

实验结果

三维空间推理基准

​ 目前缺乏专门评估VLMs空间理解能力的视觉-语言基准测试,尤其是在3D空间概念(如度量距离、大小比较等)方面。为此,文章提出了SpatialRGPT-Bench,用于评估模型的空间推理能力。

SpatialRGPT-Bench数据来自以下三个场景:

  • 城市环境(如自动驾驶数据集:nuScenes、KITTI)
  • 室内环境(如SUNRGBD、ARKitScenes)
  • 模拟环境(如Hypersim)

这些数据集涵盖了不同的物体类型,使基准测试更加全面。数据集中,每个对象都由3D立方体注释,并归一化到统一的3D相机坐标系统。

SpatialRGPT-Bench包含两类任务:

  • 定性问题:涉及物体相对位置关系(如“物体A是否在物体B前面?”)
  • 定量问题:涉及具体数值(如“物体A和物体B之间的距离是多少?”)

​ SpatialRGPT在所有类别上均显著优于其他基线,特别是在定量推理上误差最小。

​ 盲目LLMs(GPT-4)在某些定量问题上表现良好(例如宽度和高度),表明LLMs的世界知识可以在一定程度上进行空间推理。

​ 相比RGB-only版本,带深度信息的SpatialRGPT表现更好,尤其是在区分前后、宽窄等方面,说明深度信息对于3D推理至关重要。

image-20250305230954631

公共视觉语言基准

​ 本实验评估SpatialRGPT是否在提升空间推理能力的同时,仍能保持在通用VQA任务上的竞争力。

VQA 任务:SpatialRGPT的性能与VILA-1.5-3B接近或略有提高,表明空间推理训练不会降低模型的通用VQA能力。

区域分类任务:SpatialRGPT在COCO-2017上表现优于RegionGPT,显示其域级空间感知能力更强。

深度推理任务:SpatialRGPT在BLINK Relative Depth Benchmark上比GPT-4V-Turbo高出20%准确率,表明其在新任务上的泛化能力较强。

image-20250305231117560

image-20250305231135626

实际应用

复杂空间推理

​ SpatialRGPT能够直接处理复杂空间推理任务,而无需借助GPT-4进行额外的逻辑推理(与SpatialVLM不同),如图展示了模型在真实场景下推理:

image-20250305231317257

​ GPT-4V在这些任务上表现较差,而SpatialRGPT能够结合视觉信息和空间知识提供精准答案。

多跳(Multi-hop)推理

​ 如图所示,即使数据集中未明确包含“多跳推理”任务,SpatialRGPT仍然能够在推理过程中逐步推导复杂空间关系,这表明其学习到了深层次的空间认知。

image-20250305231407359

作为区域级奖励标注器

​ 最近已经表明,VLMs可以作为机器人任务的密集奖励注释器,通过用自然语言指定任务,并让模型为轨迹中的每一帧注释奖励。

​ 为了研究这个应用,研究人员进行了一个真实的机器人实验。具体来说,使用边界框定义了两个区域 (一个用于指尖,一个用于绿色立方体),并使用两个区域之间的距离来注释奖励。结果如下图所示,表明指尖与目标立方体之间的估计距离随着指尖向目标方向移动而单调减小。此外,我们的深度变体性能略高于RGB变体。这表明了SpatialRGPT作为区域感知的密集奖励注释器的有效性,为纯语言方法提供了更精确和有效的替代方案。

image-20250305231455363

总结

​ 文章提出了SpatialRGPT,其通过引入区域表示模块和灵活的深度信息插件,大幅提升了VLMs的空间推理能力,在3D空间理解、复杂空间关系推理和机器人应用等方面展现出卓越的表现。实验结果表明,该模型在SpatialRGPT-Bench基准测试中远超现有方法,并在通用VQA任务中保持竞争力,能够支持多跳推理和区域级奖励标注等实际应用。

上一篇:
[论文学习]S²R:通过强化学习教会 LLM 自我验证和自我修正
下一篇:
[概述学习]语言模型在多智能体博弈中的推理能力